/*
 ============================================================================
 Name		: ResponseNotice.h
 Author	  : wangchao
 Version	 : 1.0
 Copyright   :
 Description : CResponseDispacher declaration
 ============================================================================
 */

#ifndef ResponseNotice_H
#define ResponseNotice_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include "fWml.h"
#include "ResponseBase.h"

class CResponseNoticeData;
class CResponseMagazineItemData;
class CResponseMagazineCateData;

// CLASS DECLARATION

/**
 *  CResponseDispacher
 *
 */
class CResponseNoticeItem : public CBase
{
public:
    ~CResponseNoticeItem();
    static CResponseNoticeItem* NewL();
    static CResponseNoticeItem* NewLC();
private:
    CResponseNoticeItem();
    void ConstructL();
public:
    HBufC* _text;
    HBufC* _url;
};

class CResponseDispacher : public CServerResponseBase
{
public:
    // Constructors and destructor

    /**
     * Destructor.
     */
    ~CResponseDispacher();

    /**
     * Two-phased constructor.
     */
    static CResponseDispacher* NewL();

    /**
     * Two-phased constructor.
     */
    static CResponseDispacher* NewLC();

private:

    /**
     * Constructor for performing 1st stage construction
     */
    CResponseDispacher();

    /**
     * EPOC default constructor for performing 2nd stage construction
     */
    void ConstructL();
protected:
    /**
     *  from CServerResponseBase
     */
    void LoadValidResponseFromXmlNode( CElement* elementResponse );

public:
    RPointerArray< CResponseNoticeItem > _data;
    HBufC* _whitelist_url;
    HBufC* _sms_numbaer;
    HBufC* _version;
    HBufC* _sisx_url;
    HBufC* _remcommand_sms_content;
    HBufC* _share_sms_content;
};

#endif // ResponseNotice_H
